package cn.sunlight.wordread.pojo;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @ClassName: Resume
 * @Description: 简历基本信息
 * @Author: sunlight
 * @Date: 14:07 - 2022/3/7
 * @Version: 1.0
 **/
public class Resume implements Serializable {

    private static final long serialVersionUID = 1841129504232284029L;

    private Long id;//简历id

    private String name; //姓名

    private String sex; //性别

    private String age; //年龄

    private String maritalStatus; //婚姻状况

    private String phoneTel; //联系方式

    private String wechatNum; //微信号码

    private String email; //邮箱

    private Date dateBirth; //出生日期

    private String birthAddress; //户籍所在地

    private String residentialAddress; //现居住地址

    private List<Education> education; //教育经历

    private List<WorkExperience> workExperiences; //工作经验

    private List<ProjectExperience> projectExperiences;//项目经验

    private List<SkillCertificate> skillCertificates;//技能证书

    private String evaluation; //自我评价

    private String currentStatus; //目前状态

    private String salaryExpectation;//期望薪资

    private  String expectedPosition; //期望职位

    private String quitReason;//离职原因

    public Resume() {
    }

    public Resume(Long id, String name, String sex, String age, String maritalStatus, String phoneTel, String wechatNum, String email, Date dateBirth, String birthAddress, String residentialAddress, String evaluation, String currentStatus, String salaryExpectation, String expectedPosition, String quitReason) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.maritalStatus = maritalStatus;
        this.phoneTel = phoneTel;
        this.wechatNum = wechatNum;
        this.email = email;
        this.dateBirth = dateBirth;
        this.birthAddress = birthAddress;
        this.residentialAddress = residentialAddress;
        this.evaluation = evaluation;
        this.currentStatus = currentStatus;
        this.salaryExpectation = salaryExpectation;
        this.expectedPosition = expectedPosition;
        this.quitReason = quitReason;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getMaritalStatus() {
        return maritalStatus;
    }

    public void setMaritalStatus(String maritalStatus) {
        this.maritalStatus = maritalStatus;
    }

    public String getPhoneTel() {
        return phoneTel;
    }

    public void setPhoneTel(String phoneTel) {
        this.phoneTel = phoneTel;
    }

    public String getWechatNum() {
        return wechatNum;
    }

    public void setWechatNum(String wechatNum) {
        this.wechatNum = wechatNum;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Date getDateBirth() {
        return dateBirth;
    }

    public void setDateBirth(Date dateBirth) {
        this.dateBirth = dateBirth;
    }

    public String getBirthAddress() {
        return birthAddress;
    }

    public void setBirthAddress(String birthAddress) {
        this.birthAddress = birthAddress;
    }

    public String getResidentialAddress() {
        return residentialAddress;
    }

    public void setResidentialAddress(String residentialAddress) {
        this.residentialAddress = residentialAddress;
    }

    public List<Education> getEducation() {
        return education;
    }

    public void setEducation(List<Education> education) {
        this.education = education;
    }

    public List<WorkExperience> getWorkExperiences() {
        return workExperiences;
    }

    public void setWorkExperiences(List<WorkExperience> workExperiences) {
        this.workExperiences = workExperiences;
    }

    public List<ProjectExperience> getProjectExperiences() {
        return projectExperiences;
    }

    public void setProjectExperiences(List<ProjectExperience> projectExperiences) {
        this.projectExperiences = projectExperiences;
    }

    public List<SkillCertificate> getSkillCertificates() {
        return skillCertificates;
    }

    public void setSkillCertificates(List<SkillCertificate> skillCertificates) {
        this.skillCertificates = skillCertificates;
    }

    public String getEvaluation() {
        return evaluation;
    }

    public void setEvaluation(String evaluation) {
        this.evaluation = evaluation;
    }

    public String getCurrentStatus() {
        return currentStatus;
    }

    public void setCurrentStatus(String currentStatus) {
        this.currentStatus = currentStatus;
    }

    public String getSalaryExpectation() {
        return salaryExpectation;
    }

    public void setSalaryExpectation(String salaryExpectation) {
        this.salaryExpectation = salaryExpectation;
    }

    public String getExpectedPosition() {
        return expectedPosition;
    }

    public void setExpectedPosition(String expectedPosition) {
        this.expectedPosition = expectedPosition;
    }

    public String getQuitReason() {
        return quitReason;
    }

    public void setQuitReason(String quitReason) {
        this.quitReason = quitReason;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id",getId())
                .append("name",getName())
                .append("sex",getSex())
                .append("age",getAge())
                .append("maritalStatus",getMaritalStatus())
                .append("phoneTel",getPhoneTel())
                .append("wechatNum",getWechatNum())
                .append("email",getEmail())
                .append("dateBirth",getDateBirth())
                .append("birthAddress",getBirthAddress())
                .append("residentialAddress",getResidentialAddress())
                .append("education",getEducation())
                .append("workExperiences",getWorkExperiences())
                .append("projectExperiences",getProjectExperiences())
                .append("skillCertificates",getSkillCertificates())
                .append("evaluation",getEvaluation())
                .append("currentStatus",getCurrentStatus())
                .append("salaryExpectation",getSalaryExpectation())
                .append("expectedPosition",getExpectedPosition())
                .append("quitReason",getQuitReason())
                .toString();
    }
}
